using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CreditsDisplay")]
	public class CreditsDisplay : MonoBehaviour
	{
		public enum CreditsYear
		{
			CREDITS_YEAR_2014,
			CREDITS_YEAR_2015,
			CREDITS_YEAR_2017
		}

		public GameObject m_creditsRoot => method_3<GameObject>("m_creditsRoot");

		public UberText m_creditsText1 => method_3<UberText>("m_creditsText1");

		public UberText m_creditsText2 => method_3<UberText>("m_creditsText2");

		public UberText m_currentText => method_3<UberText>("m_currentText");

		public Transform m_offscreenCardBone => method_3<Transform>("m_offscreenCardBone");

		public Transform m_cardBone => method_3<Transform>("m_cardBone");

		public UIBButton m_doneButton => method_3<UIBButton>("m_doneButton");

		public UIBButton m_yearButton1 => method_3<UIBButton>("m_yearButton1");

		public UIBButton m_yearButton2 => method_3<UIBButton>("m_yearButton2");

		public UIBButton m_fasterButton => method_3<UIBButton>("m_fasterButton");

		public UIBButton m_slowerButton => method_3<UIBButton>("m_slowerButton");

		public Transform m_flopPoint => method_3<Transform>("m_flopPoint");

		public GameObject m_doneArrowInButton => method_3<GameObject>("m_doneArrowInButton");

		public float m_creditsScrollSpeed => method_2<float>("m_creditsScrollSpeed");

		public static float CREDITS_SCROLL_SPEED_DEFAULT => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "CreditsDisplay", "CREDITS_SCROLL_SPEED_DEFAULT");

		public static float CREDITS_SCROLL_SPEED_STEP => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "CreditsDisplay", "CREDITS_SCROLL_SPEED_STEP");

		public static int CREDITS_SCROLL_STEP_LIMIT => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "CreditsDisplay", "CREDITS_SCROLL_STEP_LIMIT");

		public int m_creditsScrollSpeedCurrentStep => method_2<int>("m_creditsScrollSpeedCurrentStep");

		public static int MAX_LINES_PER_CHUNK => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "CreditsDisplay", "MAX_LINES_PER_CHUNK");

		public List<string> m_creditLines => method_3<Class249>("m_creditLines")?.method_25();

		public int m_currentLine => method_2<int>("m_currentLine");

		public List<Actor> m_fakeCards => method_3<Class271<Actor>>("m_fakeCards")?.method_25();

		public List<FullDef> m_creditsDefs => method_3<Class271<FullDef>>("m_creditsDefs")?.method_25();

		public bool started => method_2<bool>("started");

		public bool m_creditsTextLoaded => method_2<bool>("m_creditsTextLoaded");

		public bool m_creditsTextLoadSucceeded => method_2<bool>("m_creditsTextLoadSucceeded");

		public bool m_creditsDone => method_2<bool>("m_creditsDone");

		public Actor m_shownCreditsCard => method_3<Actor>("m_shownCreditsCard");

		public Vector3 creditsRootStartLocalPosition => method_2<Vector3>("creditsRootStartLocalPosition");

		public Vector3 creditsText1StartLocalPosition => method_2<Vector3>("creditsText1StartLocalPosition");

		public Vector3 creditsText2StartLocalPosition => method_2<Vector3>("creditsText2StartLocalPosition");

		public int m_lastCard => method_2<int>("m_lastCard");

		public static string START_CREDITS_COROUTINE => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "CreditsDisplay", "START_CREDITS_COROUTINE");

		public static string SHOW_NEW_CARD_COROUTINE => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "CreditsDisplay", "SHOW_NEW_CARD_COROUTINE");

		public List<AssetReference> s_credits_card_embers => method_3<Class251<AssetReference>>("s_credits_card_embers")?.method_25();

		public List<AssetReference> s_credits_card_enter => method_3<Class251<AssetReference>>("s_credits_card_enter")?.method_25();

		public List<AssetReference> s_tavern_crowd_play_reaction_positive => method_3<Class251<AssetReference>>("s_tavern_crowd_play_reaction_positive")?.method_25();

		public CreditsYear m_creditsYearDisplayed => method_2<CreditsYear>("m_creditsYearDisplayed");

		public CreditsDisplay(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CreditsDisplay(IntPtr address)
			: this(address, "CreditsDisplay")
		{
		}

		public static CreditsDisplay Get()
		{
			return MonoClass.smethod_15<CreditsDisplay>(TritonHs.MainAssemblyPath, "", "CreditsDisplay", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestoy()
		{
			method_8("OnDestoy");
		}

		public void LoadAllCreditsCards()
		{
			method_8("LoadAllCreditsCards");
		}

		public void LoadCreditsText()
		{
			method_8("LoadCreditsText");
		}

		public string GetFilePath()
		{
			return method_13("GetFilePath");
		}

		public void FlopCredits()
		{
			method_8("FlopCredits");
		}

		public void DropText()
		{
			method_8("DropText");
		}

		public string GetNextCreditsChunk()
		{
			return method_13("GetNextCreditsChunk");
		}

		public void ActorLoadedCallback(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("ActorLoadedCallback", assetRef, go, callbackData);
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnBoxOpened(object userData)
		{
			method_8("OnBoxOpened", userData);
		}

		public void NewCard()
		{
			method_8("NewCard");
		}

		public void Update()
		{
			method_8("Update");
		}

		public float GetTopOfCurrentCredits()
		{
			return method_11<float>("GetTopOfCurrentCredits", Array.Empty<object>());
		}

		public void OnFullDefLoaded(string cardID, FullDef def, object userData)
		{
			method_8("OnFullDefLoaded", cardID, def, userData);
		}

		public void OnDonePressed(UIEvent e)
		{
			method_8("OnDonePressed", e);
		}

		public void OnYearPressed1(UIEvent e)
		{
			method_8("OnYearPressed1", e);
		}

		public void OnYearPressed2(UIEvent e)
		{
			method_8("OnYearPressed2", e);
		}

		public void OnYearPressed()
		{
			method_8("OnYearPressed");
		}

		public void OnFasterButtonPressed(UIEvent e)
		{
			method_8("OnFasterButtonPressed", e);
		}

		public void OnSlowerButtonPressed(UIEvent e)
		{
			method_8("OnSlowerButtonPressed", e);
		}

		public void UpdateYearButtons()
		{
			method_8("UpdateYearButtons");
		}

		public bool EndCredits()
		{
			return method_11<bool>("EndCredits", Array.Empty<object>());
		}

		public void StartEndCreditsTimer()
		{
			method_8("StartEndCreditsTimer");
		}
	}
}
